package com.itheima.service;

import com.itheima.pojo.entity.PageResult;
import com.itheima.pojo.entity.Student;
import com.itheima.pojo.query.StudentQueryParam;

/**
 * @author zzw
 * @date 2025/4/27
 * @description 学员管理服务接口
 */
public interface StudentService {

    /**
     * 分页查询学员信息
     *
     * @param studentQueryParam 查询参数
     * @return PageResult<Student> 分页结果
     */
    PageResult<Student> page(StudentQueryParam studentQueryParam);

    /**
     * 删除学员信息
     *
     * @param ids 学员id数组
     */
    void deleteByIds(Integer[] ids);

    /**
     * 新增学员信息
     *
     * @param student 新增的学员信息
     */
    void insert(Student student);

    /**
     * 根据id查询学员信息
     *
     * @param id 学员id
     * @return Student 学员信息
     */
    Student getById(Integer id);

    /**
     * 更新学员信息
     *
     * @param student 更新的学员信息
     */
    void update(Student student);

    /**
     * 处理学员违规
     *
     * @param id    学员id
     * @param score 违规分数
     */
    void handleViolation(Integer id, Short score);
}
